iT邦幫忙

2023 iThome 鐵人賽

DAY 27
0
自我挑戰組

Azure初學者手冊:一步一步的學習之旅系列 第 27

DAY-27 Azure實作:結合爬蟲程式儲存文件或圖片

  • 分享至 

  • xImage
  •  

前言:

在這份指南中,我們將探討如何建立一個爬蟲程式,用於從網頁上抓取文件和圖片,然後將這些數據上傳到Azure Blob Storage服務中。Azure Blob Storage是一個強大的雲端儲存解決方案,它可以確保使用者的數據安全、可擴展,並提供輕鬆的存取和管理。

步驟1:安裝Python和相關庫

確保使用者已安裝Python,以及以下相關庫:

pip install beautifulsoup4
pip install requests
pip install azure-storage-blob

步驟2:編寫爬蟲程式

以下是一個Python爬蟲程式的示例,用於爬取圖片和文件,並將它們上傳到Azure Blob Storage:

import requests
from bs4 import BeautifulSoup
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

# 目標網頁的URL
url = "https://example.com"  # 替換為使用者的目標網頁URL

# 使用requests庫下載網頁內容
response = requests.get(url)
html = response.text

# 解析HTML內容
soup = BeautifulSoup(html, "html.parser")

# 找到圖片和文件連結
img_links = []
file_links = []

for img in soup.find_all("img"):
    img_url = img.get("src")
    if img_url and img_url.startswith("http"):
        img_links.append(img_url)

for a in soup.find_all("a"):
    file_url = a.get("href")
    if file_url and file_url.startswith("http"):
        file_links.append(file_url)

# 創建BlobServiceClient
connection_string = "Your-Storage-Connection-String"  # 替換為使用者的Azure Blob Storage連接字串
blob_service_client = BlobServiceClient.from_connection_string(connection_string)

# 創建容器
container_name = "webdata"
container_client = blob_service_client.get_container_client(container_name)

# 上傳圖片
for img_url in img_links:
    img_data = requests.get(img_url).content
    blob_client = container_client.get_blob_client(os.path.basename(img_url))
    blob_client.upload_blob(img_data)
    print(f"Uploaded image: {img_url}")

# 上傳文件
for file_url in file_links:
    file_data = requests.get(file_url).content
    blob_client = container_client.get_blob_client(os.path.basename(file_url))
    blob_client.upload_blob(file_data)
    print(f"Uploaded file: {file_url}")

print("爬取並上傳完成")

在這個示例中,我們使用requests庫來下載網頁內容,Beautiful Soup來解析HTML,然後找到所有圖片和文件連結。接著,我們使用Azure Blob Storage服務來創建一個容器,然後上傳圖片和文件。

步驟3:執行爬蟲程式

保存上面的程式到一個.py檔案中,然後在終端中執行它:

python your_crawler.py

程式將爬取網頁中的圖片和文件,然後將它們上傳到Azure Blob Storage的"webdata"容器中。

結語:

這份指南展示了如何結合爬蟲程式和Azure Blob Storage來儲存從網頁上抓取的文件和圖片。這個過程可以幫助使用者有效地儲存和管理使用者的數據,並確保數據的安全性。請注意,使用者需要替換程式中的"Your-Storage-Connection-String"和其他參數,以適應使用者的Azure Blob Storage設置。

又過了一天~感謝大家觀看!
天氣在早晚都有些轉涼,大家要保重身體呦!🍵 🍵 🍵


上一篇
DAY-26 使用Azure Backup服務設定自動備份和復原策略
下一篇
DAY-28 Azure Application Insights性能監控和優化指南
系列文
Azure初學者手冊:一步一步的學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言